package com.atguigu.rabbitmq.day05;

import com.atguigu.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.Channel;

import java.io.IOException;
import java.util.Scanner;
import java.util.concurrent.TimeoutException;
/*Fanout 这种类型非常简单。正如从名称中猜到的那样，它是将接收到的所有消息广播到它知道的所有队列中,一个生产者发出消息，所有它绑定的队列都能收到消息
* 这种类型的routingKey是相同的，所以都能收到消息*/
/**
 * 发消息
 */
public class EmitLog {
    //交换机名称
    public static final String EXCHANGE_NAME="logs";

    public static void main(String[] args) throws IOException, TimeoutException {
        Channel channel = RabbitMqUtils.getChannel();

        //channel.exchangeDeclare(EXCHANGE_NAME,"fanout");//已经有了(写消费者的时候声明了)，不用再声明了

        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            String message = sc.next();
            channel.basicPublish(EXCHANGE_NAME,"",null,message.getBytes("UTF-8"));
            System.out.println("生产者发出消息："+message);
        }
    }
}
